package com.zq.solution.string;

/**
 * @ClassName IsLongPressedName
 * @Description 长按键入
 * 你的朋友正在使用键盘输入他的名字name。偶尔，在键入字符c时，按键可能会被长按，而字符可能被输入 1 次或多次。
 * 你将会检查键盘输入的字符typed。如果它对应的可能是你的朋友的名字（其中一些字符可能被长按），那么就返回true。
 * 示例 1：
 *   输入：name = "alex", typed = "aaleex"
 *   输出：true
 *   解释：'alex' 中的 'a' 和 'e' 被长按。
 * @Author ZQ
 * @Date 2020/10/21 14:16
 * @Version 1.0
 */
public class IsLongPressedName {
    public static boolean isLongPressedName(String name, String typed){
        int i = 0, j = 0;
        while (j < typed.length()) {
            if (i < name.length() && name.charAt(i) == typed.charAt(j)) {
                i++;
                j++;
            } else if (j > 0 && typed.charAt(j) == typed.charAt(j - 1)) {
                j++;
            } else {
                return false;
            }
        }
        return i == name.length();
    }

    public static void main(String[] args) {
        System.out.println(isLongPressedName("leelee","lleeelee"));
    }
}
